package com.github.service.loader;


/**
 * 验证码资源加载器
 * @param <R>   返回的随机资源表示类
 */
public abstract class RandomResource<R> {


    /**
     * 从列表中随机返回图片资源
     * @return  对应图片资源
     */
    public abstract R random();

    /**
     * 默认内部资源加载方法
     */
    protected abstract void loadInternal();


    /**
     * 是否加载外部资源
     * @return  默认返回 false
     */
    protected boolean isLoadExternal() {
        return false;
    }

    /**
     * 外部资源加载实现
     */
    protected void loadExternal() {}


}
